package edu.vista;

import com.sun.lwuit.plaf.UIManager;
import com.sun.lwuit.util.Resources;
import edu.logica.util.CentralDatos;
import edu.logica.util.Constantes;
import edu.midlet.BlueMidlet;
import java.io.IOException;

public class AdminIntefaz implements Runnable {

    private Formulario formulario;
    private static AdminIntefaz miAdminIntefaz;
    private Thread hilo;
    private BlueMidlet mid;
    public boolean adelante = true;

    private AdminIntefaz() {
    
        hilo = new Thread(this);
        try {
            Resources r = Resources.open("/theme.res");
            UIManager.getInstance().setThemeProps(r.getTheme("Makeover"));
        } catch (IOException ioe) {
            Dialogo.getDialogo().mostrarDialogoInformacion(
                    "imposible cargar el tema");
        }
        setCurrent(Constantes.MENU_PRINCIPAL);
        hilo.start();

    }

    public void setCurrent(byte ventana) {
        switch (ventana) {
            case Constantes.MENU_PRINCIPAL:
                formulario = new FormMenu();
                break;

            case Constantes.LIST_DISPOSITIVOS:
                System.out.println("lista de dispositivos");
                formulario = new FormListRemoto();
                ((FormListRemoto) formulario).precargar();
                break;
            case Constantes.MENSAJE:
                formulario = new FormMensaje();
                break;

            case Constantes.RESPUESTA:
//                Dialogo.getDialogo().mostrarDialogoInformacion("current");
                formulario = new FormResultado(CentralDatos.resultado);
                break;
        }


        formulario.show();
    }

    public void run() {
        while (true) {
            try {
                Thread.sleep(10000);
                System.gc();
            } catch (InterruptedException e) {
//				Dialogo.getDialogo().mostrarDialogoInformacion(e.toString());
            }
        }

    }

    public void cerrarApp() {
        mid.notifyDestroyed();
    }

    public static AdminIntefaz getAdminIntefaz() {
        if (miAdminIntefaz == null) {
            miAdminIntefaz = new AdminIntefaz();
        }

        return miAdminIntefaz;
    }

    public void destruir() {
        miAdminIntefaz = null;
    }
}
